Exception Analysis for Java
نویسندگان
چکیده
Current JDK Java compiler relies too much on programmer's speciication for checking against uncaught exceptions of the input program. It is not elaborate enough to remove programmer's unnecessary handlers (when programmer's speciications are too many) nor suggest to programmers for specialized handlings (when programmer's speciica-tions are too general). We propose a static analysis of Java programs that estimates their exception ows independently of the programmer's speciications. This analysis is an extension of a class analysis to Java's exception mechanism. Its cost-eeectiveness balance is suggested by sparsely analyzing the program at method-level (hence reducing the number of unknowns in the ow equations).
منابع مشابه
Exception Analysis for Multithreaded Java Programs
This paper presents a static analysis that estimates uncaught exceptions in multithreaded Java programs. In Java, throwing exceptions across threads is deprecated because of the safety problem. Instead of restricting programmers’ freedom, we extend Java language to support multithreaded exception handling and propose a tool to detect uncaught exceptions in the input programs. Our analysis consi...
متن کاملVisualization of Exception Propagation for Java Using Static Analysis
In this paper, we first present a static analysis based on set-based framework, which estimates exception propagation paths of Java programs. We construct an exception propagation graph from the static analysis information, which includes the origin of exceptions, handler of exceptions, and propagation paths of exceptions. We have implemented the exception propagation analysis and a visualizati...
متن کاملEstimating Exception-Induced Control Flow for Java
Exception analyses so far cannot provide information on the propagation of thrown exceptions, which is necessary to construct interprocedural control flow graph, visualize exception propagation, and slice exception-related parts of programs. In this paper, we propose a set-based analysis, which estimates exception propagation of Java programs. To formalize exception propagation, we first descri...
متن کاملAnalysis and Testing of Programs with Exception Handling Constructs
Analysis techniques, such as control flow, data flow, and control dependence, are used for a variety of software-engineering tasks, including structural and regression testing, dynamic execution profiling, static and dynamic slicing, and program understanding. To be applicable to programs in languages, such as Java and C++, these analysis techniques must account for the effects of exception occ...
متن کاملAn uncaught exception analysis for Java q , qq
Current JDK Java compiler relies on programmer’s declarations (by throws clauses) for checking against uncaught exceptions of the input program. It is not elaborate enough to remove programmer’s unnecessary handlers nor suggest to programmers for specialized handlings (when programmer’s declarations are too broad). We propose a static analysis of Java programs that estimates their uncaught exce...
متن کامل